# Contributor: <xmingske@gmail.com>
# Maintainer: Sascha Paunovic <azarus@posteo.net>
pkgname=minetest
pkgver=5.2.0
pkgrel=0
pkgdesc="An infinite-world block sandbox game and a game engine"
url="https://www.minetest.net/"
arch="all"
license="LGPL-2.1-or-later AND CC-BY-SA-3.0"
pkgusers="minetest"
pkggroups="minetest"
install="$pkgname-server.pre-install"
depends="$pkgname-common"
makedepends="bzip2-dev cmake curl-dev freetype-dev gettext-dev hiredis-dev irrlicht-dev
	libjpeg-turbo-dev libogg-dev libpng-dev libvorbis-dev luajit-dev
	mesa-dev openal-soft-dev openssl-dev sqlite-dev
	"
subpackages="$pkgname-doc $pkgname-common::noarch $pkgname-server $pkgname-server-openrc:openrc"
source="minetest-$pkgver.tar.gz::https://codeload.github.com/minetest/minetest/tar.gz/$pkgver
	minetest-server.confd
	minetest-server.initd
	0001-CMake-link-with-Intl-when-necessary.patch
	"

build() {
	cmake -B .build_client \
		-DCUSTOM_BINDIR=/usr/bin \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCUSTOM_DOCDIR="/usr/share/doc/$pkgname" \
		-DCUSTOM_SHAREDIR="/usr/share/$pkgname" \
		-DBUILD_CLIENT=1 \
		-DBUILD_SERVER=0 \
		-DENABLE_REDIS=0 \
		-DENABLE_CURL=1 \
		-DRUN_IN_PLACE=0
	make -C .build_client

	cmake -B .build_server\
		-DCUSTOM_BINDIR=/usr/bin \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCUSTOM_DOCDIR="/usr/share/doc/minetest" \
		-DCUSTOM_SHAREDIR="/usr/share/minetest" \
		-DBUILD_CLIENT=0 \
		-DBUILD_SERVER=1 \
		-DENABLE_REDIS=1 \
		-DENABLE_CURL=1 \
		-DRUN_IN_PLACE=0
	make -C .build_server
}

package() {
	make -C .build_client DESTDIR="$pkgdir" install
}

common() {
	pkgdesc="Minetest files used by both client & server"
	depends=""
	install -o minetest -g minetest -d "$subpkgdir"/var/lib/minetest
	mkdir -p "$subpkgdir/usr/share/minetest"
	mv "$pkgdir/usr/share/minetest/builtin" \
		"$subpkgdir/usr/share/minetest"
	mv "$pkgdir/usr/share/minetest/games" \
		"$subpkgdir/usr/share/minetest"
}

server() {
	pkgdesc="Minetest server"
	depends="$pkgname-common"
	mkdir -p "$subpkgdir/usr/bin"
	cd "$builddir"
	install -m644 -D $pkgname.conf.example \
		"$subpkgdir"/etc/$pkgname/$pkgname.conf
	cp bin/minetestserver $subpkgdir/usr/bin
}

openrc() {
	pkgdesc="Minetest server (OpenRC init scripts)"
	install_if="$pkgname-server openrc"
	install -D -m755 "$srcdir"/minetest-server.initd \
		"$subpkgdir"/etc/init.d/minetest-server
	install -D -m644 "$srcdir"/minetest-server.confd \
		"$subpkgdir"/etc/conf.d/minetest-server
}

sha512sums="47e3cdf488d50ea61659ac3b72960c9971270d1a793e0d79dcb649c89f7a6e65a16c21e1b903d08c916a2ebcbd3fd2164ec67173a3d4f2a2e9bb3a6351b48851  minetest-5.2.0.tar.gz
7bca17dc0bd59db9c07c160677498aa09297026104e922bf93b7629c274d0aebd226af60c5e82f49ffe3cc5c1e4448e3798b6c2a44144fc6eca4d3aaed3384bb  minetest-server.confd
c27aea87468538b48b5e0a66fa5cdde4fc67f3c00a0e57f359a2f044a31c5617d1b5f3dec72e015537ee3bf126bd1073878c0f4447de67db9be2c4cf21416dd7  minetest-server.initd
6e35a39f079f0c1b280dbc3deb46eb789a7620d64b226b5f867c5d954ae8881659b6f15e3e2204a24ccd4ed7b9de50f2fbacc4c80534290fc4c049df24ddc5ff  0001-CMake-link-with-Intl-when-necessary.patch"
